package com.xian.ai.code.model.vo;

import com.xian.ai.code.model.entity.User;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @ClassName LoginUserVO
 * @Description 登录用户视图对象（用于返回前端）
 * @Author Zhangxn
 * @Version 1.0
 */
@Data
@AllArgsConstructor
public class LoginUserVO implements Serializable {

    /**
     * 用户 id
     */
    private Long id;

    /**
     * 账号
     */
    private String userAccount;

    /**
     * 用户昵称
     */
    private String userName;

    /**
     * 用户头像
     */
    private String userAvatar;

    /**
     * 用户简介
     */
    private String userProfile;

    /**
     * 用户角色：user/admin
     */
    private String userRole;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    public static LoginUserVO fromEntity(User entity){
        return new LoginUserVO(entity.getId(), entity.getUserAccount(), entity.getUserName(), entity.getUserAvatar(), entity.getUserProfile(), entity.getUserRole(), entity.getCreateTime(), entity.getUpdateTime());
    }

    private static final long serialVersionUID = 1L;
}
